﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using NHibernateDB;

namespace MessMain
{
    public partial class VizualizarePacienti : UserControl
    {
        TabItems main;
        private string limba;

        public VizualizarePacienti(TabItems main, string limba)
        {
            InitializeComponent();
            Rename(limba);

            listaPacienti.View = View.Details;
            listaPacienti.FullRowSelect = true;
            listaPacienti.GridLines = false;

            this.main = main;
            this.limba = limba;

            listaPacienti.Columns.Add("CNP");
            listaPacienti.Columns.Add("Nume");
            listaPacienti.Columns.Add("Prenume");
            listaPacienti.Columns.Add("Sex");
            listaPacienti.Columns.Add("DataNasterii");
            listaPacienti.Columns.Add("LoculNasterii");
            listaPacienti.Columns.Add("Resedinta");
            listaPacienti.Columns.Add("DomiciliuLegal");
            listaPacienti.Columns.Add("GrupaSanguina");
            listaPacienti.Columns.Add("Ocupatie");
            listaPacienti.Columns.Add("LocMunca");
            listaPacienti.Columns.Add("TalonPensie");

            SenzoriTemperatura st = new SenzoriTemperatura();

            st.IdPacient = "1234567890123";
            st.IdSenzor = 101;
            st.Temperatura = 37;
            st.Data = DateTime.Today;

            PersistenceManager pm = PersistenceManager.Instance;
            pm.Save(st);


        }

        private void button1_Click(object sender, EventArgs e)
        {
            PersistenceManager pm = PersistenceManager.Instance;
            IList<DateGeneralePacient> lista2 = pm.RetrieveEquals<DateGeneralePacient>("IdPacient", tbCNP.Text);
            listaPacienti.Items.Clear();
            populateListView(lista2);
        }

        private void button2_Click(object sender, EventArgs e)
        {

            PersistenceManager pm = PersistenceManager.Instance;
            IList<DateGeneralePacient> lista = pm.RetrieveAll<DateGeneralePacient>(SessionAction.BeginAndEnd);
            listaPacienti.Items.Clear();
            populateListView(lista);
        }

        private void populateListView(IList<DateGeneralePacient> list)
        {



            foreach (DateGeneralePacient dgp in list)
            {
                ListViewItem item = new ListViewItem(dgp.IdPacient);
                item.SubItems.Add(dgp.Nume);
                item.SubItems.Add(dgp.Prenume);
                item.SubItems.Add(dgp.Sex);
                item.SubItems.Add(dgp.DataNasterii.ToString());
                item.SubItems.Add(dgp.LoculNasterii);
                item.SubItems.Add(dgp.Resedinta);
                item.SubItems.Add(dgp.DomiciliuLegal);
                item.SubItems.Add(dgp.GrupaSanguina);
                item.SubItems.Add(dgp.Ocupatie);
                item.SubItems.Add(dgp.LocMunca);
                item.SubItems.Add(dgp.TalonPensie);
                listaPacienti.Items.Add(item);
            }
        }

        private void btSelectarePacient_Click(object sender, EventArgs e)
        {

            for (int i = 0; i < listaPacienti.Items.Count; i++)
            {
                if (listaPacienti.Items[i].Selected == true)
                {
                    ListViewItem itm = listaPacienti.SelectedItems[0];
                    main.sendCNPTo(itm.SubItems[0].Text);
                    main.loadpacient(itm.SubItems[0].Text);

                    break;
                }
            }
        }

       
    }

}
